home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1989-07-27 | 12.9 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
You can browse this item here: serial.readFileTilStr.dll.c
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Thu Jul 27 18:53:31 1989, modified Thu Jul 27 18:53:31 1989, creator 'MPS ', type ASCII, 12631 bytes "serial.readFileTilStr.dll.c" , at 0x31d7 382 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 1b 73 65 72 69 61 6c | 2e 72 65 61 64 46 69 6c |..serial|.readFil|
|00000010| 65 54 69 6c 53 74 72 2e | 64 6c 6c 2e 63 00 00 00 |eTilStr.|dll.c...|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 31 57 00 | 00 01 7e a0 f5 42 eb a0 |.....1W.|..~..B..|
|00000060| f5 42 eb 00 00 0c 00 00 | 00 00 00 00 00 00 00 00 |.B......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 3b 2f 00 00 |........|....;/..|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2f 0d 2f 2a 09 0d 2f 2a |********|/./*../*|
|000000d0| 09 73 65 72 69 61 6c 2e | 72 65 61 64 46 69 6c 65 |.serial.|readFile|
|000000e0| 54 69 6c 53 74 72 2e 64 | 6c 6c 2e 63 0d 2f 2a 09 |TilStr.d|ll.c./*.|
|000000f0| 62 79 20 41 74 75 6c 20 | 42 75 74 74 65 0d 2f 2a |by Atul |Butte./*|
|00000100| 09 43 6f 70 79 72 69 67 | 68 74 20 a9 20 31 39 38 |.Copyrig|ht . 198|
|00000110| 39 20 62 79 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 |9 by Mic|rosoft C|
|00000120| 6f 72 70 6f 72 61 74 69 | 6f 6e 0d 2f 2a 09 41 6c |orporati|on./*.Al|
|00000130| 6c 20 52 69 67 68 74 73 | 20 52 65 73 65 72 76 65 |l Rights| Reserve|
|00000140| 64 0d 2f 2a 0d 2f 2a 09 | 76 65 72 73 69 6f 6e 20 |d./*./*.|version |
|00000150| 31 2e 30 0d 2f 2a 09 0d | 2f 2a 09 0d 2f 2a 09 54 |1.0./*..|/*../*.T|
|00000160| 68 69 73 20 43 41 4c 4c | 2f 52 45 47 49 53 54 45 |his CALL|/REGISTE|
|00000170| 52 20 77 69 6c 6c 20 72 | 65 61 64 20 66 72 6f 6d |R will r|ead from|
|00000180| 20 74 68 65 20 73 65 72 | 69 61 6c 20 70 6f 72 74 | the ser|ial port|
|00000190| 20 75 6e 74 69 6c 20 74 | 68 65 20 73 70 65 63 69 | until t|he speci|
|000001a0| 66 65 64 0d 2f 2a 09 73 | 74 72 69 6e 67 20 69 73 |fed./*.s|tring is|
|000001b0| 20 72 65 61 64 20 75 70 | 20 74 6f 20 32 35 35 20 | read up| to 255 |
|000001c0| 63 68 61 72 61 63 74 65 | 72 73 2e 20 54 68 65 20 |characte|rs. The |
|000001d0| 63 68 61 72 61 63 74 65 | 72 73 20 61 72 65 20 73 |characte|rs are s|
|000001e0| 74 6f 72 65 64 20 69 6e | 0d 2f 2a 09 61 20 66 69 |tored in|./*.a fi|
|000001f0| 6c 65 2e 0d 2f 2a 09 0d | 2f 2a 09 45 78 63 65 6c |le../*..|/*.Excel|
|00000200| 20 75 73 61 67 65 3a 0d | 2f 2a 09 0d 2f 2a 09 3d | usage:.|/*../*.=|
|00000210| 20 52 65 67 69 73 74 65 | 72 28 20 22 73 65 72 69 | Registe|r( "seri|
|00000220| 61 6c 20 6c 69 62 72 61 | 72 79 22 2c 20 22 73 65 |al libra|ry", "se|
|00000230| 72 69 61 6c 2e 72 65 61 | 64 54 69 6c 53 74 72 22 |rial.rea|dTilStr"|
|00000240| 2c 20 22 49 48 44 4a 43 | 44 22 20 29 0d 2f 2a 09 |, "IHDJC|D" )./*.|
|00000250| 3d 20 43 61 6c 6c 28 20 | 72 65 66 2c 20 70 6f 72 |= Call( |ref, por|
|00000260| 74 4e 75 6d 62 65 72 2c | 20 6d 61 74 63 68 53 74 |tNumber,| matchSt|
|00000270| 72 2c 20 6d 61 78 54 69 | 6d 65 2c 20 72 65 61 64 |r, maxTi|me, read|
|00000280| 43 6f 6e 66 69 67 53 74 | 72 2c 20 66 69 6c 65 4e |ConfigSt|r, fileN|
|00000290| 61 6d 65 20 29 0d 2f 2a | 09 0d 2f 2a 09 77 68 65 |ame )./*|../*.whe|
|000002a0| 72 65 0d 2f 2a 09 09 70 | 6f 72 74 4e 75 6d 62 65 |re./*..p|ortNumbe|
|000002b0| 72 09 09 3d 20 6e 75 6d | 62 65 72 20 6f 66 20 70 |r..= num|ber of p|
|000002c0| 6f 72 74 20 28 31 20 3d | 20 6d 6f 64 65 6d 2c 20 |ort (1 =| modem, |
|000002d0| 32 20 3d 20 70 72 69 6e | 74 65 72 29 0d 2f 2a 09 |2 = prin|ter)./*.|
|000002e0| 09 6d 61 74 63 68 53 74 | 72 09 09 3d 20 6b 65 65 |.matchSt|r..= kee|
|000002f0| 70 20 72 65 61 64 69 6e | 67 20 75 6e 74 69 6c 20 |p readin|g until |
|00000300| 77 65 20 72 65 61 64 20 | 74 68 69 73 20 73 74 72 |we read |this str|
|00000310| 69 6e 67 0d 2f 2a 09 09 | 6d 61 78 54 69 6d 65 09 |ing./*..|maxTime.|
|00000320| 09 09 3d 20 6d 61 78 69 | 6d 75 6d 20 61 6d 6f 75 |..= maxi|mum amou|
|00000330| 6e 74 20 6f 66 20 74 69 | 6d 65 20 74 6f 20 77 61 |nt of ti|me to wa|
|00000340| 69 74 20 66 6f 72 20 63 | 68 61 72 61 63 74 65 72 |it for c|haracter|
|00000350| 73 0d 2f 2a 09 09 09 09 | 09 09 20 20 69 6e 20 31 |s./*....|.. in 1|
|00000360| 2f 36 30 20 73 65 63 6f | 6e 64 20 75 6e 69 74 73 |/60 seco|nd units|
|00000370| 0d 2f 2a 09 09 72 65 61 | 64 43 6f 6e 66 69 67 53 |./*..rea|dConfigS|
|00000380| 74 72 09 3d 20 63 6f 6e | 66 69 67 75 72 61 74 69 |tr.= con|figurati|
|00000390| 6f 6e 20 6f 66 20 63 6f | 6d 6d 75 6e 69 63 61 74 |on of co|mmunicat|
|000003a0| 69 6f 6e 73 20 70 72 6f | 74 6f 63 6f 6c 2c 20 65 |ions pro|tocol, e|
|000003b0| 74 63 0d 2f 2a 09 09 66 | 69 6c 65 4e 61 6d 65 09 |tc./*..f|ileName.|
|000003c0| 09 3d 20 6e 61 6d 65 20 | 6f 66 20 66 69 6c 65 20 |.= name |of file |
|000003d0| 69 6e 20 77 68 69 63 68 | 20 74 6f 20 73 74 6f 72 |in which| to stor|
|000003e0| 65 20 63 68 61 72 61 63 | 74 65 72 73 0d 2f 2a 09 |e charac|ters./*.|
|000003f0| 0d 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00000400| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000410| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000420| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000430| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 0d 2f 2a 2a 2a |********|*/../***|
|00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000480| 2a 2a 2a 2a 2f 0d 2f 2a | 0d 2f 2a 09 44 20 45 20 |****/./*|./*.D E |
|00000490| 46 20 49 20 4e 20 45 20 | 53 0d 2f 2a 0d 2f 2a 2a |F I N E |S./*./**|
|000004a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000004e0| 2a 2a 2a 2a 2a 2f 0d 0d | 23 64 65 66 69 6e 65 20 |*****/..|#define |
|000004f0| 52 4f 55 54 49 4e 45 5f | 4e 41 4d 45 09 22 73 65 |ROUTINE_|NAME."se|
|00000500| 72 69 61 6c 2e 72 65 61 | 64 46 69 6c 65 54 69 6c |rial.rea|dFileTil|
|00000510| 53 74 72 22 0d 23 64 65 | 66 69 6e 65 20 68 4e 49 |Str".#de|fine hNI|
|00000520| 4c 20 30 4c 0d 23 64 65 | 66 69 6e 65 20 70 4e 49 |L 0L.#de|fine pNI|
|00000530| 4c 20 30 4c 0d 23 64 65 | 66 69 6e 65 20 6b 63 63 |L 0L.#de|fine kcc|
|00000540| 68 42 75 66 66 09 09 36 | 34 0d 0d 2f 2a 2a 2a 2a |hBuff..6|4../****|
|00000550| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000560| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000570| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000580| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000590| 2a 2a 2a 2f 0d 2f 2a 0d | 2f 2a 09 49 20 4e 20 43 |***/./*.|/*.I N C|
|000005a0| 20 4c 20 55 20 44 20 45 | 20 53 0d 2f 2a 0d 2f 2a | L U D E| S./*./*|
|000005b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000005f0| 2a 2a 2a 2a 2a 2a 2f 0d | 0d 23 69 6e 63 6c 75 64 |******/.|.#includ|
|00000600| 65 20 22 73 65 72 69 61 | 6c 2e 68 22 0d 23 69 6e |e "seria|l.h".#in|
|00000610| 63 6c 75 64 65 20 22 65 | 72 72 6f 72 2e 68 22 0d |clude "e|rror.h".|
|00000620| 23 69 6e 63 6c 75 64 65 | 20 22 67 65 74 5f 70 6f |#include| "get_po|
|00000630| 72 74 2e 68 22 0d 23 69 | 6e 63 6c 75 64 65 20 22 |rt.h".#i|nclude "|
|00000640| 69 6e 74 65 72 70 72 65 | 74 2e 68 22 0d 23 69 6e |interpre|t.h".#in|
|00000650| 63 6c 75 64 65 20 22 67 | 65 74 5f 72 65 61 64 5f |clude "g|et_read_|
|00000660| 66 6c 61 67 73 2e 68 22 | 0d 0d 2f 2a 2a 2a 2a 2a |flags.h"|../*****|
|00000670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000690| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006b0| 2a 2a 2f 0d 2f 2a 0d 2f | 2a 09 50 20 52 20 4f 20 |**/./*./|*.P R O |
|000006c0| 54 20 4f 20 54 20 59 20 | 50 20 45 20 53 0d 2f 2a |T O T Y |P E S./*|
|000006d0| 0d 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|000006e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000006f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000700| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000710| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 0d 76 6f 69 64 |********|*/..void|
|00000720| 20 69 6e 69 74 69 61 6c | 69 7a 65 5f 6e 65 78 74 | initial|ize_next|
|00000730| 28 20 50 74 72 20 70 6e | 78 74 2c 20 63 68 61 72 |( Ptr pn|xt, char|
|00000740| 20 2a 70 73 74 4d 61 74 | 63 68 20 29 3b 0d 63 68 | *pstMat|ch );.ch|
|00000750| 61 72 20 63 68 65 63 6b | 5f 66 6f 72 5f 6d 61 74 |ar check|_for_mat|
|00000760| 63 68 28 20 63 68 61 72 | 20 63 52 65 61 64 2c 20 |ch( char| cRead, |
|00000770| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 20 63 43 |unsigned| char cC|
|00000780| 75 72 72 65 6e 74 43 68 | 61 72 2c 20 75 6e 73 69 |urrentCh|ar, unsi|
|00000790| 67 6e 65 64 20 63 68 61 | 72 20 63 4d 61 74 63 68 |gned cha|r cMatch|
|000007a0| 4c 65 6e 67 74 68 2c 20 | 63 68 61 72 20 2a 70 73 |Length, |char *ps|
|000007b0| 74 4d 61 74 63 68 2c 20 | 50 74 72 20 70 6e 78 74 |tMatch, |Ptr pnxt|
|000007c0| 20 29 3b 0d 0d 73 68 6f | 72 74 20 6f 70 65 6e 5f | );..sho|rt open_|
|000007d0| 66 69 6c 65 28 20 63 68 | 61 72 20 2a 73 74 46 69 |file( ch|ar *stFi|
|000007e0| 6c 65 6e 61 6d 65 20 29 | 3b 0d 76 6f 69 64 20 63 |lename )|;.void c|
|000007f0| 6c 6f 73 65 5f 66 69 6c | 65 28 20 73 68 6f 72 74 |lose_fil|e( short|
|00000800| 20 72 65 66 6e 75 6d 2c | 20 63 68 61 72 20 2a 70 | refnum,| char *p|
|00000810| 63 68 2c 20 75 6e 73 69 | 67 6e 65 64 20 73 68 6f |ch, unsi|gned sho|
|00000820| 72 74 20 64 63 68 20 29 | 3b 0d 42 6f 6f 6c 65 61 |rt dch )|;.Boolea|
|00000830| 6e 20 73 74 6f 72 65 5f | 63 68 61 72 61 63 74 65 |n store_|characte|
|00000840| 72 28 20 73 68 6f 72 74 | 20 72 65 66 6e 75 6d 2c |r( short| refnum,|
|00000850| 20 63 68 61 72 20 63 52 | 65 61 64 2c 20 63 68 61 | char cR|ead, cha|
|00000860| 72 20 2a 70 63 68 2c 20 | 75 6e 73 69 67 6e 65 64 |r *pch, |unsigned|
|00000870| 20 73 68 6f 72 74 20 2a | 64 63 68 20 29 3b 0d 0d | short *|dch );..|
|00000880| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000890| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2f 0d 2f 2a 0d 2f 2a 09 |********|/./*./*.|
|000008d0| 6d 61 69 6e 0d 2f 2a 0d | 2f 2a 2a 2a 2a 2a 2a 2a |main./*.|/*******|
|000008e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000008f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000900| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000910| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000920| 2f 0d 0d 70 61 73 63 61 | 6c 20 73 68 6f 72 74 20 |/..pasca|l short |
|00000930| 6d 61 69 6e 28 20 70 6f | 72 74 2c 20 70 73 74 4d |main( po|rt, pstM|
|00000940| 61 74 63 68 2c 20 74 69 | 6d 65 44 75 72 2c 20 70 |atch, ti|meDur, p|
|00000950| 73 7a 43 6f 6e 66 69 67 | 2c 20 70 73 74 46 69 6c |szConfig|, pstFil|
|00000960| 65 6e 61 6d 65 20 29 0d | 0d 09 75 6e 73 69 67 6e |ename ).|..unsign|
|00000970| 65 64 20 73 68 6f 72 74 | 09 09 09 70 6f 72 74 3b |ed short|...port;|
|00000980| 09 09 09 09 09 2f 2a 20 | 73 65 72 69 61 6c 20 70 |...../* |serial p|
|00000990| 6f 72 74 20 74 6f 20 75 | 73 65 20 2a 2f 0d 09 63 |ort to u|se */..c|
|000009a0| 68 61 72 09 09 09 09 09 | 2a 70 73 74 4d 61 74 63 |har.....|*pstMatc|
|000009b0| 68 3b 09 09 09 09 2f 2a | 20 6b 65 65 70 20 72 65 |h;..../*| keep re|
|000009c0| 61 64 69 6e 67 20 75 6e | 74 69 6c 20 77 65 20 72 |ading un|til we r|
|000009d0| 65 61 64 20 74 68 69 73 | 20 73 74 72 69 6e 67 20 |ead this| string |
|000009e0| 2a 2f 0d 09 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |*/..unsi|gned lon|
|000009f0| 67 09 09 09 74 69 6d 65 | 44 75 72 3b 09 09 09 09 |g...time|Dur;....|
|00000a00| 2f 2a 20 6d 61 78 69 6d | 75 6d 20 74 69 6d 65 20 |/* maxim|um time |
|00000a10| 74 6f 20 77 61 69 74 20 | 66 6f 72 20 63 68 61 72 |to wait |for char|
|00000a20| 73 20 28 69 6e 20 74 69 | 63 6b 73 29 20 2a 2f 0d |s (in ti|cks) */.|
|00000a30| 09 63 68 61 72 09 09 09 | 09 09 2a 70 73 7a 43 6f |.char...|..*pszCo|
|00000a40| 6e 66 69 67 3b 09 09 09 | 09 2f 2a 20 63 6f 6d 6d |nfig;...|./* comm|
|00000a50| 75 6e 69 63 61 74 69 6f | 6e 73 20 63 6f 6e 66 69 |unicatio|ns confi|
|00000a60| 67 75 72 61 74 69 6f 6e | 20 73 74 72 69 6e 67 20 |guration| string |
|00000a70| 2a 2f 0d 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |*/..regi|ster cha|
|00000a80| 72 09 09 09 2a 70 73 74 | 46 69 6c 65 6e 61 6d 65 |r...*pst|Filename|
|00000a90| 3b 09 09 09 2f 2a 20 6e | 61 6d 65 20 6f 66 20 66 |;.../* n|ame of f|
|00000aa0| 69 6c 65 20 69 6e 20 77 | 68 69 63 68 20 74 6f 20 |ile in w|hich to |
|00000ab0| 73 61 76 65 20 63 68 61 | 72 61 63 74 65 72 73 20 |save cha|racters |
|00000ac0| 2a 2f 0d 09 0d 7b 0d 09 | 72 65 67 69 73 74 65 72 |*/...{..|register|
|00000ad0| 20 4f 53 45 72 72 09 09 | 09 65 72 72 3b 09 09 09 | OSErr..|.err;...|
|00000ae0| 09 09 2f 2a 20 72 65 73 | 75 6c 74 20 63 6f 64 65 |../* res|ult code|
|00000af0| 20 66 72 6f 6d 20 54 6f | 6f 6c 62 6f 78 20 72 6f | from To|olbox ro|
|00000b00| 75 74 69 6e 65 73 20 2a | 2f 0d 09 50 61 72 61 6d |utines *|/..Param|
|00000b10| 42 6c 6f 63 6b 52 65 63 | 09 09 09 70 61 72 61 6d |BlockRec|...param|
|00000b20| 3b 09 09 09 09 09 2f 2a | 20 70 61 72 61 6d 65 74 |;...../*| paramet|
|00000b30| 65 72 20 62 6c 6f 63 6b | 20 66 6f 72 20 72 65 61 |er block| for rea|
|00000b40| 64 2f 77 72 69 74 65 20 | 2a 2f 0d 09 0d 09 42 6f |d/write |*/....Bo|
|00000b50| 6f 6c 65 61 6e 09 09 09 | 09 09 66 45 63 68 6f 20 |olean...|..fEcho |
|00000b60| 3d 20 66 61 6c 73 65 3b | 09 09 09 2f 2a 20 66 6c |= false;|.../* fl|
|00000b70| 61 67 20 66 6f 72 20 65 | 63 68 6f 69 6e 67 20 63 |ag for e|choing c|
|00000b80| 68 61 72 61 63 74 65 72 | 73 20 2a 2f 0d 09 42 6f |haracter|s */..Bo|
|00000b90| 6f 6c 65 61 6e 09 09 09 | 09 09 66 45 64 69 74 20 |olean...|..fEdit |
|00000ba0| 3d 20 66 61 6c 73 65 3b | 09 09 09 2f 2a 20 66 6c |= false;|.../* fl|
|00000bb0| 61 67 20 66 6f 72 20 61 | 6c 6c 6f 77 69 6e 67 20 |ag for a|llowing |
|00000bc0| 65 64 69 74 20 63 68 61 | 72 61 63 74 65 72 73 20 |edit cha|racters |
|00000bd0| 2a 2f 0d 09 42 6f 6f 6c | 65 61 6e 09 09 09 09 09 |*/..Bool|ean.....|
|00000be0| 66 53 74 72 69 70 4c 46 | 20 3d 20 66 61 6c 73 65 |fStripLF| = false|
|00000bf0| 3b 09 09 2f 2a 20 66 6c | 61 67 20 66 6f 72 20 73 |;../* fl|ag for s|
|00000c00| 74 72 69 70 70 69 6e 67 | 20 6c 69 6e 65 20 66 65 |tripping| line fe|
|00000c10| 65 64 73 20 2a 2f 0d 09 | 42 6f 6f 6c 65 61 6e 09 |eds */..|Boolean.|
|00000c20| 09 09 09 09 66 53 74 72 | 69 70 38 42 69 74 20 3d |....fStr|ip8Bit =|
|00000c30| 20 66 61 6c 73 65 3b 09 | 09 2f 2a 20 66 6c 61 67 | false;.|./* flag|
|00000c40| 20 66 6f 72 20 73 74 72 | 69 70 70 69 6e 67 20 68 | for str|ipping h|
|00000c50| 69 67 68 20 62 69 74 20 | 2a 2f 0d 09 42 6f 6f 6c |igh bit |*/..Bool|
|00000c60| 65 61 6e 09 09 09 09 09 | 66 41 64 64 4c 46 20 3d |ean.....|fAddLF =|
|00000c70| 20 66 61 6c 73 65 3b 09 | 09 09 2f 2a 20 66 6c 61 | false;.|../* fla|
|00000c80| 67 20 66 6f 72 20 61 64 | 64 69 6e 67 20 4c 46 20 |g for ad|ding LF |
|00000c90| 61 66 74 65 72 20 43 52 | 20 2a 2f 0d 09 42 6f 6f |after CR| */..Boo|
|00000ca0| 6c 65 61 6e 09 09 09 09 | 09 66 49 67 6e 6f 72 65 |lean....|.fIgnore|
|00000cb0| 20 3d 20 66 61 6c 73 65 | 3b 09 09 2f 2a 20 66 6c | = false|;../* fl|
|00000cc0| 61 67 20 66 6f 72 20 69 | 67 6e 6f 72 69 6e 67 20 |ag for i|gnoring |
|00000cd0| 65 73 63 61 70 65 20 63 | 68 61 72 73 20 2a 2f 0d |escape c|hars */.|
|00000ce0| 09 0d 09 48 61 6e 64 6c | 65 09 09 09 09 09 68 6e |...Handl|e.....hn|
|00000cf0| 78 74 3b 09 09 09 09 09 | 2f 2a 20 68 61 6e 64 6c |xt;.....|/* handl|
|00000d00| 65 20 74 6f 20 74 68 65 | 20 6e 65 78 74 20 74 61 |e to the| next ta|
|00000d10| 62 6c 65 20 2a 2f 0d 09 | 72 65 67 69 73 74 65 72 |ble */..|register|
|00000d20| 20 50 74 72 09 09 09 70 | 6e 78 74 3b 09 09 09 09 | Ptr...p|nxt;....|
|00000d30| 09 2f 2a 20 70 6f 69 6e | 74 65 72 20 74 6f 20 74 |./* poin|ter to t|
|00000d40| 68 65 20 6e 65 78 74 20 | 74 61 62 6c 65 20 2a 2f |he next |table */|
|00000d50| 0d 09 6c 6f 6e 67 09 09 | 09 09 09 63 63 68 42 75 |..long..|...cchBu|
|00000d60| 66 66 20 3d 20 30 3b 09 | 09 09 2f 2a 20 6e 75 6d |ff = 0;.|../* num|
|00000d70| 62 65 72 20 6f 66 20 63 | 68 61 72 61 63 74 65 72 |ber of c|haracter|
|00000d80| 73 20 77 61 69 74 69 6e | 67 20 69 6e 20 72 65 61 |s waitin|g in rea|
|00000d90| 64 20 62 75 66 66 65 72 | 20 2a 2f 0d 09 72 65 67 |d buffer| */..reg|
|00000da0| 69 73 74 65 72 20 75 6e | 73 69 67 6e 65 64 20 6c |ister un|signed l|
|00000db0| 6f 6e 67 09 74 69 6d 65 | 53 74 6f 70 3b 09 09 09 |ong.time|Stop;...|
|00000dc0| 09 2f 2a 20 74 69 6d 65 | 20 61 74 20 77 68 69 63 |./* time| at whic|
|00000dd0| 68 20 74 6f 20 73 74 6f | 70 20 2a 2f 0d 09 73 68 |h to sto|p */..sh|
|00000de0| 6f 72 74 09 09 09 09 09 | 72 65 66 49 6e 3b 09 09 |ort.....|refIn;..|
|00000df0| 09 09 09 2f 2a 20 72 65 | 66 65 72 65 6e 63 65 20 |.../* re|ference |
|00000e00| 6e 75 6d 62 65 72 20 66 | 6f 72 20 69 6e 70 75 74 |number f|or input|
|00000e10| 20 70 6f 72 74 20 2a 2f | 0d 09 73 68 6f 72 74 09 | port */|..short.|
|00000e20| 09 09 09 09 72 65 66 4f | 75 74 3b 09 09 09 09 09 |....refO|ut;.....|
|00000e30| 2f 2a 20 72 65 66 65 72 | 65 6e 63 65 20 6e 75 6d |/* refer|ence num|
|00000e40| 62 65 72 20 66 6f 72 20 | 6f 75 74 70 75 74 20 70 |ber for |output p|
|00000e50| 6f 72 74 20 2a 2f 0d 09 | 63 68 61 72 09 09 09 09 |ort */..|char....|
|00000e60| 09 63 68 52 65 61 64 3b | 09 09 09 09 09 2f 2a 20 |.chRead;|...../* |
|00000e70| 62 75 66 66 65 72 20 75 | 73 65 64 20 74 6f 20 72 |buffer u|sed to r|
|00000e80| 65 61 64 20 61 20 63 68 | 61 72 61 63 74 65 72 20 |ead a ch|aracter |
|00000e90| 2a 2f 0d 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |*/..regi|ster cha|
|00000ea0| 72 09 09 09 63 68 3b 09 | 09 09 09 09 09 2f 2a 20 |r...ch;.|...../* |
|00000eb0| 63 68 61 72 61 63 74 65 | 72 20 72 65 61 64 20 2a |characte|r read *|
|00000ec0| 2f 0d 09 63 68 61 72 09 | 09 09 09 09 65 63 68 6f |/..char.|....echo|
|00000ed0| 42 61 63 6b 73 70 61 63 | 65 5b 33 5d 3b 09 09 2f |Backspac|e[3];../|
|00000ee0| 2a 20 63 68 61 72 61 63 | 74 65 72 73 20 74 6f 20 |* charac|ters to |
|00000ef0| 73 65 6e 64 20 74 6f 20 | 65 63 68 6f 20 42 61 63 |send to |echo Bac|
|00000f00| 6b 73 70 61 63 65 20 2a | 2f 0d 09 63 68 61 72 09 |kspace *|/..char.|
|00000f10| 09 09 09 09 65 63 68 6f | 4c 69 6e 65 66 65 65 64 |....echo|Linefeed|
|00000f20| 3b 09 09 09 2f 2a 20 63 | 68 61 72 61 63 74 65 72 |;.../* c|haracter|
|00000f30| 73 20 74 6f 20 73 65 6e | 64 20 74 6f 20 65 63 68 |s to sen|d to ech|
|00000f40| 6f 20 4c 69 6e 65 66 65 | 65 64 20 2a 2f 0d 09 72 |o Linefe|ed */..r|
|00000f50| 65 67 69 73 74 65 72 20 | 75 6e 73 69 67 6e 65 64 |egister |unsigned|
|00000f60| 20 63 68 61 72 09 63 63 | 68 4d 61 74 63 68 65 64 | char.cc|hMatched|
|00000f70| 3b 09 09 09 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |;..../* |number o|
|00000f80| 66 20 63 68 61 72 61 63 | 74 65 72 73 20 6d 61 74 |f charac|ters mat|
|00000f90| 63 68 69 6e 67 20 73 6f | 20 66 61 72 20 2a 2f 0d |ching so| far */.|
|00000fa0| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|00000fb0| 65 64 20 63 68 61 72 09 | 63 63 68 4d 61 74 63 68 |ed char.|cchMatch|
|00000fc0| 3b 09 09 09 09 2f 2a 20 | 6e 75 6d 62 65 72 20 6f |;..../* |number o|
|00000fd0| 66 20 63 68 61 72 61 63 | 74 65 72 73 20 74 6f 20 |f charac|ters to |
|00000fe0| 6d 61 74 63 68 20 2a 2f | 0d 09 0d 09 63 68 61 72 |match */|....char|
|00000ff0| 09 09 09 09 09 2a 70 63 | 68 3b 09 09 09 09 09 2f |.....*pc|h;...../|
|00001000| 2a 20 62 75 66 66 65 72 | 20 75 73 65 64 20 69 6e |* buffer| used in|
|00001010| 20 66 69 6c 65 20 72 65 | 61 64 69 6e 67 20 2a 2f | file re|ading */|
|00001020| 0d 09 75 6e 73 69 67 6e | 65 64 20 73 68 6f 72 74 |..unsign|ed short|
|00001030| 09 09 09 69 63 68 42 75 | 66 66 20 3d 20 30 3b 09 |...ichBu|ff = 0;.|
|00001040| 09 09 2f 2a 20 69 6e 64 | 65 78 20 69 6e 20 62 75 |../* ind|ex in bu|
|00001050| 66 66 65 72 20 2a 2f 0d | 09 73 68 6f 72 74 09 09 |ffer */.|.short..|
|00001060| 09 09 09 72 65 66 46 69 | 6c 65 3b 09 09 09 09 2f |...refFi|le;..../|
|00001070| 2a 20 72 65 66 65 72 65 | 6e 63 65 20 6e 75 6d 62 |* refere|nce numb|
|00001080| 65 72 20 66 6f 72 20 66 | 69 6c 65 20 2a 2f 0d 0d |er for f|ile */..|
|00001090| 09 52 65 6d 65 6d 62 65 | 72 41 30 28 29 3b 0d 09 |.Remembe|rA0();..|
|000010a0| 53 65 74 55 70 41 34 28 | 29 3b 0d 09 0d 09 69 66 |SetUpA4(|);....if|
|000010b0| 28 20 70 73 74 46 69 6c | 65 6e 61 6d 65 20 3d 3d |( pstFil|ename ==|
|000010c0| 20 70 4e 49 4c 20 29 20 | 7b 0d 09 09 64 69 73 70 | pNIL ) |{...disp|
|000010d0| 6c 61 79 5f 65 72 72 6f | 72 28 20 22 54 68 65 20 |lay_erro|r( "The |
|000010e0| 66 69 66 74 68 20 70 61 | 72 61 6d 65 74 65 72 20 |fifth pa|rameter |
|000010f0| 6d 75 73 74 20 62 65 20 | 61 20 66 69 6c 65 20 6e |must be |a file n|
|00001100| 61 6d 65 2e 22 20 29 3b | 0d 09 09 52 65 73 74 6f |ame." );|...Resto|
|00001110| 72 65 41 34 28 20 29 3b | 0d 09 09 72 65 74 75 72 |reA4( );|...retur|
|00001120| 6e 28 20 65 72 72 50 61 | 72 61 6d 20 29 3b 0d 09 |n( errPa|ram );..|
|00001130| 7d 0d 09 69 66 28 20 2a | 70 73 74 46 69 6c 65 6e |}..if( *|pstFilen|
|00001140| 61 6d 65 20 3d 3d 20 30 | 20 29 20 7b 0d 09 09 64 |ame == 0| ) {...d|
|00001150| 69 73 70 6c 61 79 5f 65 | 72 72 6f 72 28 20 22 54 |isplay_e|rror( "T|
|00001160| 68 65 20 66 69 66 74 68 | 20 70 61 72 61 6d 65 74 |he fifth| paramet|
|00001170| 65 72 20 6d 75 73 74 20 | 62 65 20 61 20 66 69 6c |er must |be a fil|
|00001180| 65 20 6e 61 6d 65 2e 22 | 20 29 3b 0d 09 09 52 65 |e name."| );...Re|
|00001190| 73 74 6f 72 65 41 34 28 | 20 29 3b 0d 09 09 72 65 |storeA4(| );...re|
|000011a0| 74 75 72 6e 28 20 65 72 | 72 50 61 72 61 6d 20 29 |turn( er|rParam )|
|000011b0| 3b 0d 09 7d 0d 09 09 0d | 09 69 66 28 20 70 73 7a |;..}....|.if( psz|
|000011c0| 43 6f 6e 66 69 67 20 3d | 3d 20 70 4e 49 4c 20 29 |Config =|= pNIL )|
|000011d0| 20 7b 0d 09 09 64 69 73 | 70 6c 61 79 5f 65 72 72 | {...dis|play_err|
|000011e0| 6f 72 28 20 22 54 68 65 | 20 66 6f 75 72 74 68 20 |or( "The| fourth |
|000011f0| 70 61 72 61 6d 65 74 65 | 72 20 6d 75 73 74 20 62 |paramete|r must b|
|00001200| 65 20 61 20 63 6f 6e 66 | 69 67 75 72 61 74 69 6f |e a conf|iguratio|
|00001210| 6e 20 73 74 72 69 6e 67 | 2e 22 20 29 3b 0d 09 09 |n string|." );...|
|00001220| 52 65 73 74 6f 72 65 41 | 34 28 20 29 3b 0d 09 09 |RestoreA|4( );...|
|00001230| 72 65 74 75 72 6e 28 20 | 65 72 72 50 61 72 61 6d |return( |errParam|
|00001240| 20 29 3b 0d 09 7d 0d 09 | 69 66 28 20 70 73 74 4d | );..}..|if( pstM|
|00001250| 61 74 63 68 20 3d 3d 20 | 70 4e 49 4c 20 29 20 7b |atch == |pNIL ) {|
|00001260| 0d 09 09 64 69 73 70 6c | 61 79 5f 65 72 72 6f 72 |...displ|ay_error|
|00001270| 28 20 22 54 68 65 20 73 | 65 63 6f 6e 64 20 70 61 |( "The s|econd pa|
|00001280| 72 61 6d 65 74 65 72 20 | 6d 75 73 74 20 62 65 20 |rameter |must be |
|00001290| 61 20 73 74 72 69 6e 67 | 20 74 6f 20 6d 61 74 63 |a string| to matc|
|000012a0| 68 2e 22 20 29 3b 0d 09 | 09 52 65 73 74 6f 72 65 |h." );..|.Restore|
|000012b0| 41 34 28 20 29 3b 0d 09 | 09 72 65 74 75 72 6e 28 |A4( );..|.return(|
|000012c0| 20 65 72 72 50 61 72 61 | 6d 20 29 3b 0d 09 7d 0d | errPara|m );..}.|
|000012d0| 09 69 66 28 20 2a 70 73 | 74 4d 61 74 63 68 20 3d |.if( *ps|tMatch =|
|000012e0| 3d 20 30 20 29 20 7b 0d | 09 09 64 69 73 70 6c 61 |= 0 ) {.|..displa|
|000012f0| 79 5f 65 72 72 6f 72 28 | 20 22 59 6f 75 20 6d 75 |y_error(| "You mu|
|00001300| 73 74 20 73 70 65 63 69 | 66 79 20 61 20 73 74 72 |st speci|fy a str|
|00001310| 69 6e 67 20 74 6f 20 6d | 61 74 63 68 20 77 69 74 |ing to m|atch wit|
|00001320| 68 20 61 74 20 6c 65 61 | 73 74 20 6f 6e 65 20 63 |h at lea|st one c|
|00001330| 68 61 72 61 63 74 65 72 | 2e 22 20 29 3b 0d 09 09 |haracter|." );...|
|00001340| 52 65 73 74 6f 72 65 41 | 34 28 20 29 3b 0d 09 09 |RestoreA|4( );...|
|00001350| 72 65 74 75 72 6e 28 20 | 65 72 72 50 61 72 61 6d |return( |errParam|
|00001360| 20 29 3b 0d 09 7d 0d 0d | 09 65 72 72 20 3d 20 67 | );..}..|.err = g|
|00001370| 65 74 5f 70 6f 72 74 28 | 20 70 6f 72 74 2c 20 26 |et_port(| port, &|
|00001380| 72 65 66 49 6e 2c 20 26 | 72 65 66 4f 75 74 20 29 |refIn, &|refOut )|
|00001390| 3b 0d 09 69 66 28 20 65 | 72 72 20 21 3d 20 6e 6f |;..if( e|rr != no|
|000013a0| 45 72 72 20 29 20 7b 0d | 09 09 64 69 73 70 6c 61 |Err ) {.|..displa|
|000013b0| 79 5f 65 72 72 6f 72 28 | 20 22 49 6c 6c 65 67 61 |y_error(| "Illega|
|000013c0| 6c 20 70 6f 72 74 20 6e | 75 6d 62 65 72 2e 22 20 |l port n|umber." |
|000013d0| 29 3b 0d 09 09 52 65 73 | 74 6f 72 65 41 34 28 20 |);...Res|toreA4( |
|000013e0| 29 3b 0d 09 09 72 65 74 | 75 72 6e 28 20 65 72 72 |);...ret|urn( err|
|000013f0| 20 29 3b 0d 09 7d 0d 09 | 09 0d 09 70 63 68 20 3d | );..}..|...pch =|
|00001400| 20 4e 65 77 50 74 72 28 | 20 6b 63 63 68 42 75 66 | NewPtr(| kcchBuf|
|00001410| 66 20 29 3b 0d 09 69 66 | 28 20 70 63 68 20 3d 3d |f );..if|( pch ==|
|00001420| 20 70 4e 49 4c 20 29 20 | 7b 0d 09 09 64 69 73 70 | pNIL ) |{...disp|
|00001430| 6c 61 79 5f 65 72 72 6f | 72 28 20 22 4e 6f 74 20 |lay_erro|r( "Not |
|00001440| 65 6e 6f 75 67 68 20 6d | 65 6d 6f 72 79 20 74 6f |enough m|emory to|
|00001450| 20 61 6c 6c 6f 63 61 74 | 65 20 62 75 66 66 65 72 | allocat|e buffer|
|00001460| 2e 22 20 29 3b 0d 09 09 | 52 65 73 74 6f 72 65 41 |." );...|RestoreA|
|00001470| 34 28 20 29 3b 0d 09 09 | 72 65 74 75 72 6e 28 20 |4( );...|return( |
|00001480| 65 72 72 4d 65 6d 6f 72 | 79 20 29 3b 0d 09 7d 0d |errMemor|y );..}.|
|00001490| 09 69 63 68 42 75 66 66 | 20 3d 20 30 3b 0d 09 0d |.ichBuff| = 0;...|
|000014a0| 09 69 66 28 20 28 20 72 | 65 66 46 69 6c 65 20 3d |.if( ( r|efFile =|
|000014b0| 20 6f 70 65 6e 5f 66 69 | 6c 65 28 20 70 73 74 46 | open_fi|le( pstF|
|000014c0| 69 6c 65 6e 61 6d 65 20 | 29 20 29 20 3d 3d 20 30 |ilename |) ) == 0|
|000014d0| 20 29 20 7b 0d 09 09 52 | 65 73 74 6f 72 65 41 34 | ) {...R|estoreA4|
|000014e0| 28 20 29 3b 0d 09 09 72 | 65 74 75 72 6e 28 20 65 |( );...r|eturn( e|
|000014f0| 72 72 44 69 73 6b 57 72 | 69 74 65 20 29 3b 0d 09 |rrDiskWr|ite );..|
|00001500| 7d 0d 09 0d 09 67 65 74 | 5f 72 65 61 64 5f 66 6c |}....get|_read_fl|
|00001510| 61 67 73 28 20 70 73 7a | 43 6f 6e 66 69 67 2c 20 |ags( psz|Config, |
|00001520| 26 66 45 63 68 6f 2c 20 | 26 66 45 64 69 74 2c 20 |&fEcho, |&fEdit, |
|00001530| 26 66 53 74 72 69 70 4c | 46 2c 20 26 66 53 74 72 |&fStripL|F, &fStr|
|00001540| 69 70 38 42 69 74 2c 20 | 26 66 41 64 64 4c 46 2c |ip8Bit, |&fAddLF,|
|00001550| 20 26 66 49 67 6e 6f 72 | 65 20 29 3b 0d 09 0d 09 | &fIgnor|e );....|
|00001560| 69 66 28 20 21 66 49 67 | 6e 6f 72 65 20 29 20 7b |if( !fIg|nore ) {|
|00001570| 0d 09 09 65 72 72 20 3d | 20 69 6e 74 65 72 70 72 |...err =| interpr|
|00001580| 65 74 28 20 70 73 74 4d | 61 74 63 68 20 29 3b 0d |et( pstM|atch );.|
|00001590| 09 09 69 66 28 20 65 72 | 72 20 21 3d 20 6e 6f 45 |..if( er|r != noE|
|000015a0| 72 72 20 29 20 7b 0d 09 | 09 09 52 65 73 74 6f 72 |rr ) {..|..Restor|
|000015b0| 65 41 34 28 20 29 3b 0d | 09 09 09 72 65 74 75 72 |eA4( );.|...retur|
|000015c0| 6e 28 20 65 72 72 53 74 | 72 46 6f 72 6d 61 74 20 |n( errSt|rFormat |
|000015d0| 29 3b 0d 09 09 7d 0d 09 | 7d 0d 09 0d 09 63 63 68 |);...}..|}....cch|
|000015e0| 4d 61 74 63 68 65 64 20 | 3d 20 31 3b 0d 09 63 63 |Matched |= 1;..cc|
|000015f0| 68 4d 61 74 63 68 20 3d | 20 2a 70 73 74 4d 61 74 |hMatch =| *pstMat|
|00001600| 63 68 3b 0d 09 69 66 28 | 20 63 63 68 4d 61 74 63 |ch;..if(| cchMatc|
|00001610| 68 20 3e 20 31 20 29 20 | 7b 0d 09 09 68 6e 78 74 |h > 1 ) |{...hnxt|
|00001620| 20 3d 20 4e 65 77 48 61 | 6e 64 6c 65 28 20 28 6c | = NewHa|ndle( (l|
|00001630| 6f 6e 67 29 20 2a 70 73 | 74 4d 61 74 63 68 20 2b |ong) *ps|tMatch +|
|00001640| 20 31 20 29 3b 0d 09 09 | 48 4c 6f 63 6b 28 20 68 | 1 );...|HLock( h|
|00001650| 6e 78 74 20 29 3b 0d 09 | 09 70 6e 78 74 20 3d 20 |nxt );..|.pnxt = |
|00001660| 2a 68 6e 78 74 3b 0d 09 | 09 69 6e 69 74 69 61 6c |*hnxt;..|.initial|
|00001670| 69 7a 65 5f 6e 65 78 74 | 28 20 70 6e 78 74 2c 20 |ize_next|( pnxt, |
|00001680| 70 73 74 4d 61 74 63 68 | 20 29 3b 0d 09 7d 0d 09 |pstMatch| );..}..|
|00001690| 0d 09 69 66 28 20 66 45 | 63 68 6f 20 29 20 7b 0d |..if( fE|cho ) {.|
|000016a0| 09 09 65 63 68 6f 42 61 | 63 6b 73 70 61 63 65 5b |..echoBa|ckspace[|
|000016b0| 30 5d 20 3d 20 6b 63 68 | 42 61 63 6b 73 70 61 63 |0] = kch|Backspac|
|000016c0| 65 3b 0d 09 09 65 63 68 | 6f 42 61 63 6b 73 70 61 |e;...ech|oBackspa|
|000016d0| 63 65 5b 31 5d 20 3d 20 | 27 20 27 3b 0d 09 09 65 |ce[1] = |' ';...e|
|000016e0| 63 68 6f 42 61 63 6b 73 | 70 61 63 65 5b 32 5d 20 |choBacks|pace[2] |
|000016f0| 3d 20 6b 63 68 42 61 63 | 6b 73 70 61 63 65 3b 0d |= kchBac|kspace;.|
|00001700| 09 09 69 66 28 20 66 41 | 64 64 4c 46 20 29 20 7b |..if( fA|ddLF ) {|
|00001710| 0d 09 09 09 65 63 68 6f | 4c 69 6e 65 66 65 65 64 |....echo|Linefeed|
|00001720| 20 3d 20 6b 63 68 4c 69 | 6e 65 66 65 65 64 3b 0d | = kchLi|nefeed;.|
|00001730| 09 09 7d 0d 09 7d 0d 09 | 0d 09 74 69 6d 65 53 74 |..}..}..|..timeSt|
|00001740| 6f 70 20 3d 20 54 69 63 | 6b 43 6f 75 6e 74 28 20 |op = Tic|kCount( |
|00001750| 29 20 2b 20 74 69 6d 65 | 44 75 72 3b 0d 09 0d 09 |) + time|Dur;....|
|00001760| 77 68 69 6c 65 28 20 74 | 72 75 65 20 29 20 7b 0d |while( t|rue ) {.|
|00001770| 09 0d 09 09 69 66 28 20 | 28 20 74 69 6d 65 44 75 |....if( |( timeDu|
|00001780| 72 20 21 3d 20 30 20 29 | 20 26 26 20 28 20 54 69 |r != 0 )| && ( Ti|
|00001790| 63 6b 43 6f 75 6e 74 28 | 20 29 20 3e 3d 20 74 69 |ckCount(| ) >= ti|
|000017a0| 6d 65 53 74 6f 70 20 29 | 20 29 20 7b 0d 09 09 09 |meStop )| ) {....|
|000017b0| 62 72 65 61 6b 3b 0d 09 | 09 7d 0d 09 09 65 72 72 |break;..|.}...err|
|000017c0| 20 3d 20 53 65 72 47 65 | 74 42 75 66 28 20 72 65 | = SerGe|tBuf( re|
|000017d0| 66 49 6e 2c 20 26 63 63 | 68 42 75 66 66 20 29 3b |fIn, &cc|hBuff );|
|000017e0| 0d 09 09 69 66 28 20 65 | 72 72 20 21 3d 20 6e 6f |...if( e|rr != no|
|000017f0| 45 72 72 20 29 20 7b 0d | 09 09 09 64 69 73 70 6c |Err ) {.|...displ|
|00001800| 61 79 5f 65 72 72 6f 72 | 28 20 22 45 72 72 6f 72 |ay_error|( "Error|
|00001810| 20 74 72 79 69 6e 67 20 | 74 6f 20 63 6f 75 6e 74 | trying |to count|
|00001820| 20 62 75 66 66 65 72 2e | 22 20 29 3b 0d 09 09 09 | buffer.|" );....|
|00001830| 65 72 72 20 3d 20 65 72 | 72 53 65 72 69 61 6c 47 |err = er|rSerialG|
|00001840| 65 74 42 75 66 3b 0d 09 | 09 09 67 6f 74 6f 20 43 |etBuf;..|..goto C|
|00001850| 6c 65 61 6e 45 78 69 74 | 3b 0d 09 09 7d 0d 09 09 |leanExit|;...}...|
|00001860| 69 66 28 20 63 63 68 42 | 75 66 66 20 3d 3d 20 30 |if( cchB|uff == 0|
|00001870| 20 29 0d 09 09 09 63 6f | 6e 74 69 6e 75 65 3b 0d | )....co|ntinue;.|
|00001880| 09 09 70 61 72 61 6d 2e | 69 6f 50 61 72 61 6d 2e |..param.|ioParam.|
|00001890| 69 6f 52 65 71 43 6f 75 | 6e 74 20 3d 20 31 3b 0d |ioReqCou|nt = 1;.|
|000018a0| 09 09 70 61 72 61 6d 2e | 69 6f 50 61 72 61 6d 2e |..param.|ioParam.|
|000018b0| 69 6f 42 75 66 66 65 72 | 20 3d 20 26 63 68 52 65 |ioBuffer| = &chRe|
|000018c0| 61 64 3b 0d 09 09 70 61 | 72 61 6d 2e 69 6f 50 61 |ad;...pa|ram.ioPa|
|000018d0| 72 61 6d 2e 69 6f 52 65 | 66 4e 75 6d 20 3d 20 72 |ram.ioRe|fNum = r|
|000018e0| 65 66 49 6e 3b 0d 09 09 | 65 72 72 20 3d 20 50 42 |efIn;...|err = PB|
|000018f0| 52 65 61 64 28 20 26 70 | 61 72 61 6d 2c 20 66 61 |Read( &p|aram, fa|
|00001900| 6c 73 65 20 29 3b 0d 09 | 09 69 66 28 20 65 72 72 |lse );..|.if( err|
|00001910| 20 21 3d 20 6e 6f 45 72 | 72 20 29 20 7b 0d 09 09 | != noEr|r ) {...|
|00001920| 09 64 69 73 70 6c 61 79 | 5f 65 72 72 6f 72 28 20 |.display|_error( |
|00001930| 22 45 72 72 6f 72 20 72 | 65 61 64 69 6e 67 20 66 |"Error r|eading f|
|00001940| 72 6f 6d 20 73 65 72 69 | 61 6c 20 70 6f 72 74 2e |rom seri|al port.|
|00001950| 22 20 29 3b 0d 09 09 09 | 65 72 72 20 3d 20 65 72 |" );....|err = er|
|00001960| 72 53 65 72 69 61 6c 52 | 65 61 64 3b 0d 09 09 09 |rSerialR|ead;....|
|00001970| 67 6f 74 6f 20 43 6c 65 | 61 6e 45 78 69 74 3b 0d |goto Cle|anExit;.|
|00001980| 09 09 7d 0d 09 09 63 68 | 20 3d 20 63 68 52 65 61 |..}...ch| = chRea|
|00001990| 64 3b 0d 09 09 69 66 28 | 20 28 20 28 63 68 20 3d |d;...if(| ( (ch =|
|000019a0| 3d 20 6b 63 68 42 61 63 | 6b 73 70 61 63 65 29 20 |= kchBac|kspace) |
|000019b0| 7c 7c 20 28 63 68 20 3d | 3d 20 6b 63 68 44 65 6c ||| (ch =|= kchDel|
|000019c0| 65 74 65 29 20 29 20 26 | 26 20 28 66 45 64 69 74 |ete) ) &|& (fEdit|
|000019d0| 29 20 29 20 7b 0d 09 09 | 09 69 66 28 20 66 45 63 |) ) {...|.if( fEc|
|000019e0| 68 6f 20 29 20 7b 0d 09 | 09 09 09 70 61 72 61 6d |ho ) {..|...param|
|000019f0| 2e 69 6f 50 61 72 61 6d | 2e 69 6f 52 65 71 43 6f |.ioParam|.ioReqCo|
|00001a00| 75 6e 74 20 3d 20 33 3b | 0d 09 09 09 09 70 61 72 |unt = 3;|.....par|
|00001a10| 61 6d 2e 69 6f 50 61 72 | 61 6d 2e 69 6f 52 65 66 |am.ioPar|am.ioRef|
|00001a20| 4e 75 6d 20 3d 20 72 65 | 66 4f 75 74 3b 0d 09 09 |Num = re|fOut;...|
|00001a30| 09 09 70 61 72 61 6d 2e | 69 6f 50 61 72 61 6d 2e |..param.|ioParam.|
|00001a40| 69 6f 42 75 66 66 65 72 | 20 3d 20 65 63 68 6f 42 |ioBuffer| = echoB|
|00001a50| 61 63 6b 73 70 61 63 65 | 3b 0d 09 09 09 09 65 72 |ackspace|;.....er|
|00001a60| 72 20 3d 20 50 42 57 72 | 69 74 65 28 20 26 70 61 |r = PBWr|ite( &pa|
|00001a70| 72 61 6d 2c 20 66 61 6c | 73 65 20 29 3b 0d 09 09 |ram, fal|se );...|
|00001a80| 09 09 69 66 28 20 65 72 | 72 20 21 3d 20 6e 6f 45 |..if( er|r != noE|
|00001a90| 72 72 20 29 20 7b 0d 09 | 09 09 09 09 64 69 73 70 |rr ) {..|....disp|
|00001aa0| 6c 61 79 5f 65 72 72 6f | 72 28 20 22 45 72 72 6f |lay_erro|r( "Erro|
|00001ab0| 72 20 65 63 68 6f 69 6e | 67 20 62 61 63 6b 73 70 |r echoin|g backsp|
|00001ac0| 61 63 65 20 74 6f 20 73 | 65 72 69 61 6c 20 70 6f |ace to s|erial po|
|00001ad0| 72 74 2e 22 20 29 3b 0d | 09 09 09 09 09 65 72 72 |rt." );.|.....err|
|00001ae0| 20 3d 20 65 72 72 53 65 | 72 69 61 6c 57 72 69 74 | = errSe|rialWrit|
|00001af0| 65 3b 0d 09 09 09 09 09 | 67 6f 74 6f 20 43 6c 65 |e;......|goto Cle|
|00001b00| 61 6e 45 78 69 74 3b 0d | 09 09 09 09 7d 0d 09 09 |anExit;.|....}...|
|00001b10| 09 7d 0d 09 09 7d 20 65 | 6c 73 65 20 69 66 28 20 |.}...} e|lse if( |
|00001b20| 66 45 63 68 6f 20 29 20 | 7b 0d 09 09 09 70 61 72 |fEcho ) |{....par|
|00001b30| 61 6d 2e 69 6f 50 61 72 | 61 6d 2e 69 6f 52 65 71 |am.ioPar|am.ioReq|
|00001b40| 43 6f 75 6e 74 20 3d 20 | 31 3b 0d 09 09 09 70 61 |Count = |1;....pa|
|00001b50| 72 61 6d 2e 69 6f 50 61 | 72 61 6d 2e 69 6f 52 65 |ram.ioPa|ram.ioRe|
|00001b60| 66 4e 75 6d 20 3d 20 72 | 65 66 4f 75 74 3b 0d 09 |fNum = r|efOut;..|
|00001b70| 09 09 70 61 72 61 6d 2e | 69 6f 50 61 72 61 6d 2e |..param.|ioParam.|
|00001b80| 69 6f 42 75 66 66 65 72 | 20 3d 20 26 63 68 52 65 |ioBuffer| = &chRe|
|00001b90| 61 64 3b 0d 09 09 09 65 | 72 72 20 3d 20 50 42 57 |ad;....e|rr = PBW|
|00001ba0| 72 69 74 65 28 20 26 70 | 61 72 61 6d 2c 20 66 61 |rite( &p|aram, fa|
|00001bb0| 6c 73 65 20 29 3b 0d 09 | 09 09 69 66 28 20 65 72 |lse );..|..if( er|
|00001bc0| 72 20 21 3d 20 6e 6f 45 | 72 72 20 29 20 7b 0d 09 |r != noE|rr ) {..|
|00001bd0| 09 09 09 64 69 73 70 6c | 61 79 5f 65 72 72 6f 72 |...displ|ay_error|
|00001be0| 28 20 22 45 72 72 6f 72 | 20 65 63 68 6f 69 6e 67 |( "Error| echoing|
|00001bf0| 20 74 6f 20 73 65 72 69 | 61 6c 20 70 6f 72 74 2e | to seri|al port.|
|00001c00| 22 20 29 3b 0d 09 09 09 | 09 65 72 72 20 3d 20 65 |" );....|.err = e|
|00001c10| 72 72 53 65 72 69 61 6c | 57 72 69 74 65 3b 0d 09 |rrSerial|Write;..|
|00001c20| 09 09 09 67 6f 74 6f 20 | 43 6c 65 61 6e 45 78 69 |...goto |CleanExi|
|00001c30| 74 3b 0d 09 09 09 7d 0d | 09 09 09 69 66 28 20 28 |t;....}.|...if( (|
|00001c40| 63 68 20 3d 3d 20 6b 63 | 68 52 65 74 75 72 6e 29 |ch == kc|hReturn)|
|00001c50| 20 26 26 20 28 66 41 64 | 64 4c 46 29 20 29 20 7b | && (fAd|dLF) ) {|
|00001c60| 0d 09 09 09 09 70 61 72 | 61 6d 2e 69 6f 50 61 72 |.....par|am.ioPar|
|00001c70| 61 6d 2e 69 6f 52 65 71 | 43 6f 75 6e 74 20 3d 20 |am.ioReq|Count = |
|00001c80| 31 3b 0d 09 09 09 09 70 | 61 72 61 6d 2e 69 6f 50 |1;.....p|aram.ioP|
|00001c90| 61 72 61 6d 2e 69 6f 52 | 65 66 4e 75 6d 20 3d 20 |aram.ioR|efNum = |
|00001ca0| 72 65 66 4f 75 74 3b 0d | 09 09 09 09 70 61 72 61 |refOut;.|....para|
|00001cb0| 6d 2e 69 6f 50 61 72 61 | 6d 2e 69 6f 42 75 66 66 |m.ioPara|m.ioBuff|
|00001cc0| 65 72 20 3d 20 26 65 63 | 68 6f 4c 69 6e 65 66 65 |er = &ec|hoLinefe|
|00001cd0| 65 64 3b 0d 09 09 09 09 | 65 72 72 20 3d 20 50 42 |ed;.....|err = PB|
|00001ce0| 57 72 69 74 65 28 20 26 | 70 61 72 61 6d 2c 20 66 |Write( &|param, f|
|00001cf0| 61 6c 73 65 20 29 3b 0d | 09 09 09 09 69 66 28 20 |alse );.|....if( |
|00001d00| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 20 29 20 7b |err != n|oErr ) {|
|00001d10| 0d 09 09 09 09 09 64 69 | 73 70 6c 61 79 5f 65 72 |......di|splay_er|
|00001d20| 72 6f 72 28 20 22 45 72 | 72 6f 72 20 65 63 68 6f |ror( "Er|ror echo|
|00001d30| 69 6e 67 20 6c 69 6e 65 | 66 65 65 64 20 74 6f 20 |ing line|feed to |
|00001d40| 73 65 72 69 61 6c 20 70 | 6f 72 74 2e 22 20 29 3b |serial p|ort." );|
|00001d50| 0d 09 09 09 09 09 65 72 | 72 20 3d 20 65 72 72 53 |......er|r = errS|
|00001d60| 65 72 69 61 6c 57 72 69 | 74 65 3b 0d 09 09 09 09 |erialWri|te;.....|
|00001d70| 09 67 6f 74 6f 20 43 6c | 65 61 6e 45 78 69 74 3b |.goto Cl|eanExit;|
|00001d80| 0d 09 09 09 09 7d 0d 09 | 09 09 7d 0d 09 09 7d 0d |.....}..|..}...}.|
|00001d90| 09 09 69 66 28 20 66 53 | 74 72 69 70 38 42 69 74 |..if( fS|trip8Bit|
|00001da0| 20 29 20 7b 0d 09 09 09 | 63 68 20 26 3d 20 30 78 | ) {....|ch &= 0x|
|00001db0| 37 46 3b 0d 09 09 7d 0d | 09 09 0d 09 09 69 66 28 |7F;...}.|.....if(|
|00001dc0| 20 28 63 68 20 3d 3d 20 | 6b 63 68 4c 69 6e 65 66 | (ch == |kchLinef|
|00001dd0| 65 65 64 29 20 26 26 20 | 28 66 53 74 72 69 70 4c |eed) && |(fStripL|
|00001de0| 46 29 20 29 20 7b 0d 09 | 09 7d 20 65 6c 73 65 20 |F) ) {..|.} else |
|00001df0| 7b 0d 09 09 09 69 66 28 | 20 21 73 74 6f 72 65 5f |{....if(| !store_|
|00001e00| 63 68 61 72 61 63 74 65 | 72 28 20 72 65 66 46 69 |characte|r( refFi|
|00001e10| 6c 65 2c 20 63 68 2c 20 | 70 63 68 2c 20 26 69 63 |le, ch, |pch, &ic|
|00001e20| 68 42 75 66 66 20 29 20 | 29 20 7b 0d 09 09 09 09 |hBuff ) |) {.....|
|00001e30| 65 72 72 20 3d 20 65 72 | 72 44 69 73 6b 57 72 69 |err = er|rDiskWri|
|00001e40| 74 65 3b 0d 09 09 09 09 | 67 6f 74 6f 20 43 6c 65 |te;.....|goto Cle|
|00001e50| 61 6e 45 78 69 74 3b 0d | 09 09 09 7d 0d 09 09 09 |anExit;.|...}....|
|00001e60| 63 63 68 4d 61 74 63 68 | 65 64 20 3d 20 63 68 65 |cchMatch|ed = che|
|00001e70| 63 6b 5f 66 6f 72 5f 6d | 61 74 63 68 28 20 63 68 |ck_for_m|atch( ch|
|00001e80| 2c 20 63 63 68 4d 61 74 | 63 68 65 64 2c 20 63 63 |, cchMat|ched, cc|
|00001e90| 68 4d 61 74 63 68 2c 20 | 70 73 74 4d 61 74 63 68 |hMatch, |pstMatch|
|00001ea0| 2c 20 70 6e 78 74 20 29 | 3b 0d 09 09 09 69 66 28 |, pnxt )|;....if(|
|00001eb0| 20 63 63 68 4d 61 74 63 | 68 65 64 20 3e 20 63 63 | cchMatc|hed > cc|
|00001ec0| 68 4d 61 74 63 68 20 29 | 20 2f 2a 20 69 66 20 77 |hMatch )| /* if w|
|00001ed0| 65 20 66 6f 75 6e 64 20 | 61 20 6d 61 74 63 68 20 |e found |a match |
|00001ee0| 2a 2f 0d 09 09 09 09 62 | 72 65 61 6b 3b 0d 09 09 |*/.....b|reak;...|
|00001ef0| 7d 0d 09 7d 0d 09 0d 09 | 69 66 28 20 63 63 68 4d |}..}....|if( cchM|
|00001f00| 61 74 63 68 65 64 20 3e | 20 63 63 68 4d 61 74 63 |atched >| cchMatc|
|00001f10| 68 20 29 20 7b 0d 09 09 | 65 72 72 20 3d 20 6e 6f |h ) {...|err = no|
|00001f20| 45 72 72 3b 0d 09 7d 20 | 65 6c 73 65 20 7b 0d 09 |Err;..} |else {..|
|00001f30| 09 65 72 72 20 3d 20 65 | 72 72 54 69 6d 65 4f 75 |.err = e|rrTimeOu|
|00001f40| 74 3b 0d 09 7d 0d 09 0d | 43 6c 65 61 6e 45 78 69 |t;..}...|CleanExi|
|00001f50| 74 3a 0d 0d 09 63 6c 6f | 73 65 5f 66 69 6c 65 28 |t:...clo|se_file(|
|00001f60| 20 72 65 66 46 69 6c 65 | 2c 20 70 63 68 2c 20 69 | refFile|, pch, i|
|00001f70| 63 68 42 75 66 66 20 29 | 3b 0d 09 69 66 28 20 63 |chBuff )|;..if( c|
|00001f80| 63 68 4d 61 74 63 68 20 | 3e 20 31 20 29 0d 09 09 |chMatch |> 1 )...|
|00001f90| 44 69 73 70 6f 73 48 61 | 6e 64 6c 65 28 20 68 6e |DisposHa|ndle( hn|
|00001fa0| 78 74 20 29 3b 0d 09 52 | 65 73 74 6f 72 65 41 34 |xt );..R|estoreA4|
|00001fb0| 28 29 3b 0d 09 72 65 74 | 75 72 6e 28 20 65 72 72 |();..ret|urn( err|
|00001fc0| 20 29 3b 0d 7d 0d 0d 2f | 2a 2a 2a 2a 2a 2a 2a 2a | );.}../|********|
|00001fd0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001fe0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00001ff0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002000| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|00002010| 0d 2f 2a 0d 2f 2a 09 69 | 6e 69 74 69 61 6c 69 7a |./*./*.i|nitializ|
|00002020| 65 5f 6e 65 78 74 0d 2f | 2a 0d 2f 2a 2a 2a 2a 2a |e_next./|*./*****|
|00002030| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002040| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002050| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002060| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002070| 2a 2a 2f 0d 0d 76 6f 69 | 64 20 69 6e 69 74 69 61 |**/..voi|d initia|
|00002080| 6c 69 7a 65 5f 6e 65 78 | 74 28 20 70 6e 78 74 2c |lize_nex|t( pnxt,|
|00002090| 20 70 73 74 4d 61 74 63 | 68 20 29 0d 0d 09 72 65 | pstMatc|h )...re|
|000020a0| 67 69 73 74 65 72 20 50 | 74 72 09 09 09 70 6e 78 |gister P|tr...pnx|
|000020b0| 74 3b 09 09 09 09 09 2f | 2a 20 70 6f 69 6e 74 65 |t;...../|* pointe|
|000020c0| 72 20 74 6f 20 74 68 65 | 20 6e 65 78 74 20 74 61 |r to the| next ta|
|000020d0| 62 6c 65 20 2a 2f 0d 09 | 63 68 61 72 09 09 09 09 |ble */..|char....|
|000020e0| 09 2a 70 73 74 4d 61 74 | 63 68 3b 09 09 09 09 2f |.*pstMat|ch;..../|
|000020f0| 2a 20 6b 65 65 70 20 72 | 65 61 64 69 6e 67 20 75 |* keep r|eading u|
|00002100| 6e 74 69 6c 20 77 65 20 | 72 65 61 64 20 74 68 69 |ntil we |read thi|
|00002110| 73 20 73 74 72 69 6e 67 | 20 2a 2f 0d 09 0d 7b 0d |s string| */...{.|
|00002120| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign|
|00002130| 65 64 20 6c 6f 6e 67 09 | 69 20 3d 20 31 2c 20 6a |ed long.|i = 1, j|
|00002140| 20 3d 20 30 3b 09 09 09 | 2f 2a 20 69 6e 64 65 78 | = 0;...|/* index|
|00002150| 20 74 68 72 6f 75 67 68 | 20 6d 61 74 63 68 20 73 | through| match s|
|00002160| 74 72 69 6e 67 20 2a 2f | 0d 09 72 65 67 69 73 74 |tring */|..regist|
|00002170| 65 72 20 75 6e 73 69 67 | 6e 65 64 20 63 68 61 72 |er unsig|ned char|
|00002180| 09 63 63 68 4d 61 74 63 | 68 20 3d 20 2a 70 73 74 |.cchMatc|h = *pst|
|00002190| 4d 61 74 63 68 3b 09 2f | 2a 20 6e 75 6d 62 65 72 |Match;./|* number|
|000021a0| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 73 20 74 | of char|acters t|
|000021b0| 6f 20 6d 61 74 63 68 20 | 2a 2f 0d 09 0d 09 70 6e |o match |*/....pn|
|000021c0| 78 74 5b 31 5d 20 3d 20 | 30 3b 0d 09 64 6f 20 7b |xt[1] = |0;..do {|
|000021d0| 0d 09 09 69 66 28 20 28 | 20 6a 20 3d 3d 20 30 20 |...if( (| j == 0 |
|000021e0| 29 20 7c 7c 20 28 20 70 | 73 74 4d 61 74 63 68 5b |) || ( p|stMatch[|
|000021f0| 69 5d 20 3d 3d 20 70 73 | 74 4d 61 74 63 68 5b 6a |i] == ps|tMatch[j|
|00002200| 5d 20 29 20 29 20 7b 0d | 09 09 09 69 2b 2b 3b 0d |] ) ) {.|...i++;.|
|00002210| 09 09 09 6a 2b 2b 3b 0d | 09 09 09 70 6e 78 74 5b |...j++;.|...pnxt[|
|00002220| 69 5d 20 3d 20 6a 3b 0d | 09 09 7d 20 65 6c 73 65 |i] = j;.|..} else|
|00002230| 20 7b 0d 09 09 09 6a 20 | 3d 20 70 6e 78 74 5b 6a | {....j |= pnxt[j|
|00002240| 5d 3b 0d 09 09 7d 0d 09 | 7d 20 77 68 69 6c 65 28 |];...}..|} while(|
|00002250| 20 69 20 3c 3d 20 63 63 | 68 4d 61 74 63 68 20 29 | i <= cc|hMatch )|
|00002260| 3b 0d 7d 0d 0d 2f 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |;.}../**|********|
|00002270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002280| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002290| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2f 0d 2f |********|*****/./|
|000022b0| 2a 0d 2f 2a 09 63 68 65 | 63 6b 5f 66 6f 72 5f 6d |*./*.che|ck_for_m|
|000022c0| 61 74 63 68 0d 2f 2a 0d | 2f 2a 2a 2a 2a 2a 2a 2a |atch./*.|/*******|
|000022d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000022f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002300| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002310| 2f 0d 0d 63 68 61 72 20 | 63 68 65 63 6b 5f 66 6f |/..char |check_fo|
|00002320| 72 5f 6d 61 74 63 68 28 | 20 63 68 2c 20 63 63 68 |r_match(| ch, cch|
|00002330| 4d 61 74 63 68 65 64 2c | 20 63 63 68 4d 61 74 63 |Matched,| cchMatc|
|00002340| 68 2c 20 70 73 74 4d 61 | 74 63 68 2c 20 70 6e 78 |h, pstMa|tch, pnx|
|00002350| 74 20 29 0d 0d 09 72 65 | 67 69 73 74 65 72 20 63 |t )...re|gister c|
|00002360| 68 61 72 09 09 09 63 68 | 3b 09 09 09 09 09 09 2f |har...ch|;....../|
|00002370| 2a 20 63 68 61 72 61 63 | 74 65 72 20 72 65 61 64 |* charac|ter read|
|00002380| 20 2a 2f 0d 09 72 65 67 | 69 73 74 65 72 20 75 6e | */..reg|ister un|
|00002390| 73 69 67 6e 65 64 20 63 | 68 61 72 09 63 63 68 4d |signed c|har.cchM|
|000023a0| 61 74 63 68 65 64 3b 09 | 09 09 09 2f 2a 20 6e 75 |atched;.|.../* nu|
|000023b0| 6d 62 65 72 20 6f 66 20 | 63 68 61 72 61 63 74 65 |mber of |characte|
|000023c0| 72 73 20 6d 61 74 63 68 | 69 6e 67 20 73 6f 20 66 |rs match|ing so f|
|000023d0| 61 72 20 2a 2f 0d 09 72 | 65 67 69 73 74 65 72 20 |ar */..r|egister |
|000023e0| 75 6e 73 69 67 6e 65 64 | 20 63 68 61 72 09 63 63 |unsigned| char.cc|
|000023f0| 68 4d 61 74 63 68 3b 09 | 09 09 09 2f 2a 20 6e 75 |hMatch;.|.../* nu|
|00002400| 6d 62 65 72 20 6f 66 20 | 63 68 61 72 61 63 74 65 |mber of |characte|
|00002410| 72 73 20 74 6f 20 6d 61 | 74 63 68 20 2a 2f 0d 09 |rs to ma|tch */..|
|00002420| 63 68 61 72 09 09 09 09 | 09 2a 70 73 74 4d 61 74 |char....|.*pstMat|
|00002430| 63 68 3b 09 09 09 09 2f | 2a 20 6b 65 65 70 20 72 |ch;..../|* keep r|
|00002440| 65 61 64 69 6e 67 20 75 | 6e 74 69 6c 20 77 65 20 |eading u|ntil we |
|00002450| 72 65 61 64 20 74 68 69 | 73 20 73 74 72 69 6e 67 |read thi|s string|
|00002460| 20 2a 2f 0d 09 72 65 67 | 69 73 74 65 72 20 50 74 | */..reg|ister Pt|
|00002470| 72 09 09 09 70 6e 78 74 | 3b 09 09 09 09 09 2f 2a |r...pnxt|;...../*|
|00002480| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 74 68 65 20 | pointer| to the |
|00002490| 6e 65 78 74 20 74 61 62 | 6c 65 20 2a 2f 0d 09 0d |next tab|le */...|
|000024a0| 7b 0d 09 69 66 28 20 63 | 63 68 4d 61 74 63 68 20 |{..if( c|chMatch |
|000024b0| 3d 3d 20 31 20 29 20 7b | 0d 09 09 69 66 28 20 63 |== 1 ) {|...if( c|
|000024c0| 68 20 3d 3d 20 70 73 74 | 4d 61 74 63 68 5b 31 5d |h == pst|Match[1]|
|000024d0| 20 29 20 7b 0d 09 09 09 | 72 65 74 75 72 6e 28 20 | ) {....|return( |
|000024e0| 32 20 29 3b 0d 09 09 7d | 20 65 6c 73 65 20 7b 0d |2 );...}| else {.|
|000024f0| 09 09 09 72 65 74 75 72 | 6e 28 20 31 20 29 3b 0d |...retur|n( 1 );.|
|00002500| 09 09 7d 0d 09 7d 20 65 | 6c 73 65 20 7b 0d 09 09 |..}..} e|lse {...|
|00002510| 64 6f 20 7b 0d 09 09 09 | 69 66 28 20 28 20 63 63 |do {....|if( ( cc|
|00002520| 68 4d 61 74 63 68 65 64 | 20 3d 3d 20 30 20 29 20 |hMatched| == 0 ) |
|00002530| 7c 7c 20 28 20 63 68 20 | 3d 3d 20 70 73 74 4d 61 ||| ( ch |== pstMa|
|00002540| 74 63 68 5b 63 63 68 4d | 61 74 63 68 65 64 5d 20 |tch[cchM|atched] |
|00002550| 29 20 29 20 7b 0d 09 09 | 09 09 63 63 68 4d 61 74 |) ) {...|..cchMat|
|00002560| 63 68 65 64 2b 2b 3b 0d | 09 09 09 09 62 72 65 61 |ched++;.|....brea|
|00002570| 6b 3b 0d 09 09 09 7d 20 | 65 6c 73 65 20 7b 0d 09 |k;....} |else {..|
|00002580| 09 09 09 63 63 68 4d 61 | 74 63 68 65 64 20 3d 20 |...cchMa|tched = |
|00002590| 70 6e 78 74 5b 63 63 68 | 4d 61 74 63 68 65 64 5d |pnxt[cch|Matched]|
|000025a0| 3b 0d 09 09 09 7d 0d 09 | 09 7d 20 77 68 69 6c 65 |;....}..|.} while|
|000025b0| 28 20 63 63 68 4d 61 74 | 63 68 65 64 20 3c 3d 20 |( cchMat|ched <= |
|000025c0| 63 63 68 4d 61 74 63 68 | 20 29 3b 0d 09 09 0d 09 |cchMatch| );.....|
|000025d0| 09 72 65 74 75 72 6e 28 | 20 63 63 68 4d 61 74 63 |.return(| cchMatc|
|000025e0| 68 65 64 20 29 3b 0d 09 | 7d 0d 7d 0d 0d 2f 2a 2a |hed );..|}.}../**|
|000025f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002600| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002610| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002620| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002630| 2a 2a 2a 2a 2a 2f 0d 2f | 2a 0d 2f 2a 09 6f 70 65 |*****/./|*./*.ope|
|00002640| 6e 5f 66 69 6c 65 0d 2f | 2a 0d 2f 2a 2a 2a 2a 2a |n_file./|*./*****|
|00002650| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002660| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002670| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002680| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002690| 2a 2a 2f 0d 0d 73 68 6f | 72 74 20 6f 70 65 6e 5f |**/..sho|rt open_|
|000026a0| 66 69 6c 65 28 20 70 73 | 74 46 69 6c 65 6e 61 6d |file( ps|tFilenam|
|000026b0| 65 20 29 0d 0d 09 72 65 | 67 69 73 74 65 72 20 63 |e )...re|gister c|
|000026c0| 68 61 72 09 09 09 2a 70 | 73 74 46 69 6c 65 6e 61 |har...*p|stFilena|
|000026d0| 6d 65 3b 09 09 09 2f 2a | 20 6e 61 6d 65 20 6f 66 |me;.../*| name of|
|000026e0| 20 66 69 6c 65 20 69 6e | 20 77 68 69 63 68 20 74 | file in| which t|
|000026f0| 6f 20 73 61 76 65 20 63 | 68 61 72 61 63 74 65 72 |o save c|haracter|
|00002700| 73 20 2a 2f 0d 0d 7b 0d | 09 73 68 6f 72 74 09 09 |s */..{.|.short..|
|00002710| 09 09 09 72 65 66 46 69 | 6c 65 3b 09 09 09 09 2f |...refFi|le;..../|
|00002720| 2a 20 72 65 66 65 72 65 | 6e 63 65 20 6e 75 6d 62 |* refere|nce numb|
|00002730| 65 72 20 66 6f 72 20 66 | 69 6c 65 20 2a 2f 0d 09 |er for f|ile */..|
|00002740| 72 65 67 69 73 74 65 72 | 20 4f 53 45 72 72 09 09 |register| OSErr..|
|00002750| 09 65 72 72 3b 09 09 09 | 09 09 2f 2a 20 72 65 73 |.err;...|../* res|
|00002760| 75 6c 74 20 63 6f 64 65 | 20 66 72 6f 6d 20 54 6f |ult code| from To|
|00002770| 6f 6c 62 6f 78 20 72 6f | 75 74 69 6e 65 73 20 2a |olbox ro|utines *|
|00002780| 2f 0d 0d 09 65 72 72 20 | 3d 20 46 53 4f 70 65 6e |/...err |= FSOpen|
|00002790| 28 20 70 73 74 46 69 6c | 65 6e 61 6d 65 2c 20 30 |( pstFil|ename, 0|
|000027a0| 2c 20 26 72 65 66 46 69 | 6c 65 20 29 3b 0d 09 69 |, &refFi|le );..i|
|000027b0| 66 28 20 65 72 72 20 3d | 3d 20 66 6e 66 45 72 72 |f( err =|= fnfErr|
|000027c0| 20 29 20 7b 0d 09 09 65 | 72 72 20 3d 20 43 72 65 | ) {...e|rr = Cre|
|000027d0| 61 74 65 28 20 70 73 74 | 46 69 6c 65 6e 61 6d 65 |ate( pst|Filename|
|000027e0| 2c 20 30 2c 20 27 58 43 | 45 4c 27 2c 20 27 54 45 |, 0, 'XC|EL', 'TE|
|000027f0| 58 54 27 20 29 3b 0d 09 | 09 69 66 28 20 65 72 72 |XT' );..|.if( err|
|00002800| 20 21 3d 20 6e 6f 45 72 | 72 20 29 20 7b 0d 09 09 | != noEr|r ) {...|
|00002810| 09 64 69 73 70 6c 61 79 | 5f 65 72 72 6f 72 28 20 |.display|_error( |
|00002820| 22 45 72 72 6f 72 20 63 | 72 65 61 74 69 6e 67 20 |"Error c|reating |
|00002830| 66 69 6c 65 2e 22 20 29 | 3b 0d 09 09 09 72 65 74 |file." )|;....ret|
|00002840| 75 72 6e 28 20 30 20 29 | 3b 0d 09 09 7d 0d 09 09 |urn( 0 )|;...}...|
|00002850| 65 72 72 20 3d 20 46 53 | 4f 70 65 6e 28 20 70 73 |err = FS|Open( ps|
|00002860| 74 46 69 6c 65 6e 61 6d | 65 2c 20 30 2c 20 26 72 |tFilenam|e, 0, &r|
|00002870| 65 66 46 69 6c 65 20 29 | 3b 0d 09 09 69 66 28 20 |efFile )|;...if( |
|00002880| 65 72 72 20 21 3d 20 6e | 6f 45 72 72 20 29 20 7b |err != n|oErr ) {|
|00002890| 0d 09 09 09 64 69 73 70 | 6c 61 79 5f 65 72 72 6f |....disp|lay_erro|
|000028a0| 72 28 20 22 45 72 72 6f | 72 20 6f 70 65 6e 69 6e |r( "Erro|r openin|
|000028b0| 67 20 66 69 6c 65 2e 22 | 20 29 3b 0d 09 09 09 72 |g file."| );....r|
|000028c0| 65 74 75 72 6e 28 20 30 | 20 29 3b 0d 09 09 7d 0d |eturn( 0| );...}.|
|000028d0| 09 7d 20 65 6c 73 65 20 | 69 66 28 20 65 72 72 20 |.} else |if( err |
|000028e0| 3d 3d 20 6e 6f 45 72 72 | 20 29 20 7b 0d 09 09 65 |== noErr| ) {...e|
|000028f0| 72 72 20 3d 20 53 65 74 | 45 4f 46 28 20 72 65 66 |rr = Set|EOF( ref|
|00002900| 46 69 6c 65 2c 20 30 4c | 20 29 3b 0d 09 09 69 66 |File, 0L| );...if|
|00002910| 28 20 65 72 72 20 21 3d | 20 6e 6f 45 72 72 20 29 |( err !=| noErr )|
|00002920| 20 7b 0d 09 09 09 64 69 | 73 70 6c 61 79 5f 65 72 | {....di|splay_er|
|00002930| 72 6f 72 28 20 22 45 72 | 72 6f 72 20 64 65 6c 65 |ror( "Er|ror dele|
|00002940| 74 69 6e 67 20 65 78 69 | 73 74 69 6e 67 20 66 69 |ting exi|sting fi|
|00002950| 6c 65 2e 22 20 29 3b 0d | 09 09 09 72 65 74 75 72 |le." );.|...retur|
|00002960| 6e 28 20 30 20 29 3b 0d | 09 09 7d 0d 09 7d 20 65 |n( 0 );.|..}..} e|
|00002970| 6c 73 65 20 7b 0d 09 09 | 64 69 73 70 6c 61 79 5f |lse {...|display_|
|00002980| 65 72 72 6f 72 28 20 22 | 45 72 72 6f 72 20 6f 70 |error( "|Error op|
|00002990| 65 6e 69 6e 67 20 66 69 | 6c 65 2e 22 20 29 3b 0d |ening fi|le." );.|
|000029a0| 09 09 72 65 74 75 72 6e | 28 20 30 20 29 3b 0d 09 |..return|( 0 );..|
|000029b0| 7d 0d 09 72 65 74 75 72 | 6e 28 20 72 65 66 46 69 |}..retur|n( refFi|
|000029c0| 6c 65 20 29 3b 0d 7d 0d | 0d 2f 2a 2a 2a 2a 2a 2a |le );.}.|./******|
|000029d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000029f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a10| 2a 2f 0d 2f 2a 0d 2f 2a | 09 63 6c 6f 73 65 5f 66 |*/./*./*|.close_f|
|00002a20| 69 6c 65 0d 2f 2a 0d 2f | 2a 2a 2a 2a 2a 2a 2a 2a |ile./*./|********|
|00002a30| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a40| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a50| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002a60| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2f |********|*******/|
|00002a70| 0d 0d 76 6f 69 64 20 63 | 6c 6f 73 65 5f 66 69 6c |..void c|lose_fil|
|00002a80| 65 28 20 72 65 66 46 69 | 6c 65 2c 20 70 63 68 2c |e( refFi|le, pch,|
|00002a90| 20 69 63 68 42 75 66 66 | 20 29 0d 0d 09 73 68 6f | ichBuff| )...sho|
|00002aa0| 72 74 09 09 09 09 09 72 | 65 66 46 69 6c 65 3b 09 |rt.....r|efFile;.|
|00002ab0| 09 09 09 2f 2a 20 72 65 | 66 65 72 65 6e 63 65 20 |.../* re|ference |
|00002ac0| 6e 75 6d 62 65 72 20 66 | 6f 72 20 66 69 6c 65 20 |number f|or file |
|00002ad0| 2a 2f 0d 09 63 68 61 72 | 09 09 09 09 09 2a 70 63 |*/..char|.....*pc|
|00002ae0| 68 3b 09 09 09 09 09 2f | 2a 20 62 75 66 66 65 72 |h;...../|* buffer|
|00002af0| 20 75 73 65 64 20 69 6e | 20 66 69 6c 65 20 72 65 | used in| file re|
|00002b00| 61 64 69 6e 67 20 2a 2f | 0d 09 75 6e 73 69 67 6e |ading */|..unsign|
|00002b10| 65 64 20 73 68 6f 72 74 | 09 09 09 69 63 68 42 75 |ed short|...ichBu|
|00002b20| 66 66 3b 09 09 09 09 2f | 2a 20 69 6e 64 65 78 20 |ff;..../|* index |
|00002b30| 69 6e 20 62 75 66 66 65 | 72 20 2a 2f 0d 09 0d 7b |in buffe|r */...{|
|00002b40| 0d 09 72 65 67 69 73 74 | 65 72 20 4f 53 45 72 72 |..regist|er OSErr|
|00002b50| 09 09 09 65 72 72 3b 09 | 09 09 09 09 2f 2a 20 72 |...err;.|..../* r|
|00002b60| 65 73 75 6c 74 20 63 6f | 64 65 20 66 72 6f 6d 20 |esult co|de from |
|00002b70| 54 6f 6f 6c 62 6f 78 20 | 72 6f 75 74 69 6e 65 73 |Toolbox |routines|
|00002b80| 20 2a 2f 0d 09 6c 6f 6e | 67 09 09 09 09 09 63 63 | */..lon|g.....cc|
|00002b90| 68 3b 09 09 09 09 09 2f | 2a 20 6e 75 6d 62 65 72 |h;...../|* number|
|00002ba0| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 20 6c 65 | of char|acter le|
|00002bb0| 66 74 20 69 6e 20 62 75 | 66 66 65 72 20 2a 2f 0d |ft in bu|ffer */.|
|00002bc0| 09 0d 09 69 66 28 20 69 | 63 68 42 75 66 66 20 3e |...if( i|chBuff >|
|00002bd0| 20 30 20 29 20 7b 0d 09 | 09 63 63 68 20 3d 20 69 | 0 ) {..|.cch = i|
|00002be0| 63 68 42 75 66 66 3b 0d | 09 09 65 72 72 20 3d 20 |chBuff;.|..err = |
|00002bf0| 46 53 57 72 69 74 65 28 | 20 72 65 66 46 69 6c 65 |FSWrite(| refFile|
|00002c00| 2c 20 26 63 63 68 2c 20 | 70 63 68 20 29 3b 0d 09 |, &cch, |pch );..|
|00002c10| 09 69 66 28 20 65 72 72 | 20 3d 3d 20 64 73 6b 46 |.if( err| == dskF|
|00002c20| 75 6c 45 72 72 20 29 20 | 7b 0d 09 09 09 64 69 73 |ulErr ) |{....dis|
|00002c30| 70 6c 61 79 5f 65 72 72 | 6f 72 28 20 22 44 69 73 |play_err|or( "Dis|
|00002c40| 6b 20 66 75 6c 6c 20 65 | 72 72 6f 72 2e 22 20 29 |k full e|rror." )|
|00002c50| 3b 0d 09 09 7d 20 65 6c | 73 65 20 69 66 28 20 65 |;...} el|se if( e|
|00002c60| 72 72 20 3d 3d 20 76 4c | 63 6b 64 45 72 72 20 29 |rr == vL|ckdErr )|
|00002c70| 20 7b 0d 09 09 09 64 69 | 73 70 6c 61 79 5f 65 72 | {....di|splay_er|
|00002c80| 72 6f 72 28 20 22 54 68 | 65 20 76 6f 6c 75 6d 65 |ror( "Th|e volume|
|00002c90| 20 69 73 20 6c 6f 63 6b | 65 64 2e 22 20 29 3b 0d | is lock|ed." );.|
|00002ca0| 09 09 7d 20 65 6c 73 65 | 20 69 66 28 20 65 72 72 |..} else| if( err|
|00002cb0| 20 21 3d 20 6e 6f 45 72 | 72 20 29 20 7b 0d 09 09 | != noEr|r ) {...|
|00002cc0| 09 64 69 73 70 6c 61 79 | 5f 65 72 72 6f 72 28 20 |.display|_error( |
|00002cd0| 22 45 72 72 6f 72 20 69 | 6e 20 77 72 69 74 69 6e |"Error i|n writin|
|00002ce0| 67 20 74 6f 20 66 69 6c | 65 2e 22 20 29 3b 0d 09 |g to fil|e." );..|
|00002cf0| 09 7d 0d 09 7d 0d 09 0d | 09 65 72 72 20 3d 20 46 |.}..}...|.err = F|
|00002d00| 53 43 6c 6f 73 65 28 20 | 72 65 66 46 69 6c 65 20 |SClose( |refFile |
|00002d10| 29 3b 0d 09 69 66 28 20 | 65 72 72 20 21 3d 20 6e |);..if( |err != n|
|00002d20| 6f 45 72 72 20 29 20 7b | 0d 09 09 64 69 73 70 6c |oErr ) {|...displ|
|00002d30| 61 79 5f 65 72 72 6f 72 | 28 20 22 45 72 72 6f 72 |ay_error|( "Error|
|00002d40| 20 63 6c 6f 73 69 6e 67 | 20 66 69 6c 65 2e 22 20 | closing| file." |
|00002d50| 29 3b 0d 09 7d 0d 09 0d | 09 44 69 73 70 6f 73 50 |);..}...|.DisposP|
|00002d60| 74 72 28 20 70 63 68 20 | 29 3b 0d 7d 0d 0d 2f 2a |tr( pch |);.}../*|
|00002d70| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d80| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002d90| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002da0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002db0| 2a 2a 2a 2a 2a 2a 2f 0d | 2f 2a 0d 2f 2a 09 73 74 |******/.|/*./*.st|
|00002dc0| 6f 72 65 5f 63 68 61 72 | 61 63 74 65 72 0d 2f 2a |ore_char|acter./*|
|00002dd0| 0d 2f 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |./******|********|
|00002de0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002df0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002e00| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00002e10| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2f 0d 0d 42 6f 6f 6c |********|*/..Bool|
|00002e20| 65 61 6e 20 73 74 6f 72 | 65 5f 63 68 61 72 61 63 |ean stor|e_charac|
|00002e30| 74 65 72 28 20 72 65 66 | 46 69 6c 65 2c 20 63 68 |ter( ref|File, ch|
|00002e40| 2c 20 70 63 68 2c 20 70 | 69 63 68 42 75 66 66 20 |, pch, p|ichBuff |
|00002e50| 29 0d 0d 09 73 68 6f 72 | 74 09 09 09 09 09 72 65 |)...shor|t.....re|
|00002e60| 66 46 69 6c 65 3b 09 09 | 09 09 2f 2a 20 72 65 66 |fFile;..|../* ref|
|00002e70| 65 72 65 6e 63 65 20 6e | 75 6d 62 65 72 20 66 6f |erence n|umber fo|
|00002e80| 72 20 66 69 6c 65 20 2a | 2f 0d 09 72 65 67 69 73 |r file *|/..regis|
|00002e90| 74 65 72 20 63 68 61 72 | 09 09 09 63 68 3b 09 09 |ter char|...ch;..|
|00002ea0| 09 09 09 09 2f 2a 20 63 | 68 61 72 61 63 74 65 72 |..../* c|haracter|
|00002eb0| 20 72 65 61 64 20 2a 2f | 0d 09 63 68 61 72 09 09 | read */|..char..|
|00002ec0| 09 09 09 2a 70 63 68 3b | 09 09 09 09 09 2f 2a 20 |...*pch;|...../* |
|00002ed0| 62 75 66 66 65 72 20 75 | 73 65 64 20 69 6e 20 66 |buffer u|sed in f|
|00002ee0| 69 6c 65 20 72 65 61 64 | 69 6e 67 20 2a 2f 0d 09 |ile read|ing */..|
|00002ef0| 75 6e 73 69 67 6e 65 64 | 20 73 68 6f 72 74 09 09 |unsigned| short..|
|00002f00| 09 2a 70 69 63 68 42 75 | 66 66 3b 09 09 09 09 2f |.*pichBu|ff;..../|
|00002f10| 2a 20 69 6e 64 65 78 20 | 69 6e 20 62 75 66 66 65 |* index |in buffe|
|00002f20| 72 20 2a 2f 0d 09 0d 7b | 0d 09 72 65 67 69 73 74 |r */...{|..regist|
|00002f30| 65 72 20 4f 53 45 72 72 | 09 09 09 65 72 72 3b 09 |er OSErr|...err;.|
|00002f40| 09 09 09 09 2f 2a 20 72 | 65 73 75 6c 74 20 63 6f |..../* r|esult co|
|00002f50| 64 65 20 66 72 6f 6d 20 | 54 6f 6f 6c 62 6f 78 20 |de from |Toolbox |
|00002f60| 72 6f 75 74 69 6e 65 73 | 20 2a 2f 0d 09 6c 6f 6e |routines| */..lon|
|00002f70| 67 09 09 09 09 09 63 63 | 68 3b 09 09 09 09 09 2f |g.....cc|h;...../|
|00002f80| 2a 20 6e 75 6d 62 65 72 | 20 6f 66 20 63 68 61 72 |* number| of char|
|00002f90| 61 63 74 65 72 20 6c 65 | 66 74 20 69 6e 20 62 75 |acter le|ft in bu|
|00002fa0| 66 66 65 72 20 2a 2f 0d | 09 0d 09 69 66 28 20 2a |ffer */.|...if( *|
|00002fb0| 70 69 63 68 42 75 66 66 | 20 3c 20 6b 63 63 68 42 |pichBuff| < kcchB|
|00002fc0| 75 66 66 20 29 20 7b 0d | 09 09 70 63 68 5b 2a 70 |uff ) {.|..pch[*p|
|00002fd0| 69 63 68 42 75 66 66 5d | 20 3d 20 63 68 3b 0d 09 |ichBuff]| = ch;..|
|00002fe0| 09 28 20 2a 70 69 63 68 | 42 75 66 66 20 29 2b 2b |.( *pich|Buff )++|
|00002ff0| 3b 0d 09 7d 20 65 6c 73 | 65 20 7b 0d 09 09 63 63 |;..} els|e {...cc|
|00003000| 68 20 3d 20 6b 63 63 68 | 42 75 66 66 3b 0d 09 09 |h = kcch|Buff;...|
|00003010| 65 72 72 20 3d 20 46 53 | 57 72 69 74 65 28 20 72 |err = FS|Write( r|
|00003020| 65 66 46 69 6c 65 2c 20 | 26 63 63 68 2c 20 70 63 |efFile, |&cch, pc|
|00003030| 68 20 29 3b 0d 09 09 69 | 66 28 20 65 72 72 20 3d |h );...i|f( err =|
|00003040| 3d 20 64 73 6b 46 75 6c | 45 72 72 20 29 20 7b 0d |= dskFul|Err ) {.|
|00003050| 09 09 09 64 69 73 70 6c | 61 79 5f 65 72 72 6f 72 |...displ|ay_error|
|00003060| 28 20 22 44 69 73 6b 20 | 66 75 6c 6c 20 65 72 72 |( "Disk |full err|
|00003070| 6f 72 2e 22 20 29 3b 0d | 09 09 09 72 65 74 75 72 |or." );.|...retur|
|00003080| 6e 28 20 66 61 6c 73 65 | 20 29 3b 0d 09 09 7d 20 |n( false| );...} |
|00003090| 65 6c 73 65 20 69 66 28 | 20 65 72 72 20 3d 3d 20 |else if(| err == |
|000030a0| 76 4c 63 6b 64 45 72 72 | 20 29 20 7b 0d 09 09 09 |vLckdErr| ) {....|
|000030b0| 64 69 73 70 6c 61 79 5f | 65 72 72 6f 72 28 20 22 |display_|error( "|
|000030c0| 54 68 65 20 76 6f 6c 75 | 6d 65 20 69 73 20 6c 6f |The volu|me is lo|
|000030d0| 63 6b 65 64 2e 22 20 29 | 3b 0d 09 09 09 72 65 74 |cked." )|;....ret|
|000030e0| 75 72 6e 28 20 66 61 6c | 73 65 20 29 3b 0d 09 09 |urn( fal|se );...|
|000030f0| 7d 20 65 6c 73 65 20 69 | 66 28 20 65 72 72 20 21 |} else i|f( err !|
|00003100| 3d 20 6e 6f 45 72 72 20 | 29 20 7b 0d 09 09 09 64 |= noErr |) {....d|
|00003110| 69 73 70 6c 61 79 5f 65 | 72 72 6f 72 28 20 22 45 |isplay_e|rror( "E|
|00003120| 72 72 6f 72 20 69 6e 20 | 77 72 69 74 69 6e 67 20 |rror in |writing |
|00003130| 74 6f 20 66 69 6c 65 2e | 22 20 29 3b 0d 09 09 09 |to file.|" );....|
|00003140| 72 65 74 75 72 6e 28 20 | 66 61 6c 73 65 20 29 3b |return( |false );|
|00003150| 0d 09 09 7d 0d 09 09 0d | 09 09 2a 70 69 63 68 42 |...}....|..*pichB|
|00003160| 75 66 66 20 3d 20 31 3b | 0d 09 09 2a 70 63 68 20 |uff = 1;|...*pch |
|00003170| 3d 20 63 68 3b 0d 09 7d | 0d 09 72 65 74 75 72 6e |= ch;..}|..return|
|00003180| 28 20 74 72 75 65 20 29 | 3b 0d 7d 0d 0d 23 69 6e |( true )|;.}..#in|
|00003190| 63 6c 75 64 65 20 22 67 | 65 74 5f 70 6f 72 74 2e |clude "g|et_port.|
|000031a0| 63 22 0d 23 69 6e 63 6c | 75 64 65 20 22 69 6e 74 |c".#incl|ude "int|
|000031b0| 65 72 70 72 65 74 2e 63 | 22 0d 23 69 6e 63 6c 75 |erpret.c|".#inclu|
|000031c0| 64 65 20 22 67 65 74 5f | 72 65 61 64 5f 66 6c 61 |de "get_|read_fla|
|000031d0| 67 73 2e 63 22 0d 0d 00 | 00 00 00 00 00 00 00 00 |gs.c"...|........|
|000031e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000031f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003200| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00003210| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003220| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003230| 1b 73 65 72 69 61 6c 2e | 72 65 61 64 46 69 6c 65 |.serial.|readFile|
|00003240| 54 69 6c 53 74 72 2e 64 | 6c 6c 2e 63 02 00 00 00 |TilStr.d|ll.c....|
|00003250| 00 00 54 45 58 54 4d 50 | 53 20 00 0c 00 a0 00 00 |..TEXTMP|S ......|
|00003260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003270| 00 00 a0 c2 d2 0c 00 00 | 31 57 00 00 01 7e 2a 09 |........|1W...~*.|
|00003280| 0d 2f 2a 2a 09 0d 2f 2a | 2a 09 54 68 69 73 20 43 |./**../*|*.This C|
|00003290| 41 4c 4c 2f 52 45 47 49 | 53 54 45 52 20 77 69 6c |ALL/REGI|STER wil|
|000032a0| 6c 20 72 65 61 64 20 66 | 72 6f 6d 20 74 68 65 20 |l read f|rom the |
|000032b0| 73 65 72 69 61 6c 20 70 | 6f 72 74 20 75 6e 74 69 |serial p|ort unti|
|000032c0| 6c 20 74 68 65 20 73 70 | 65 63 69 66 65 64 0d 2f |l the sp|ecifed./|
|000032d0| 2a 2a 09 73 74 72 69 6e | 67 20 69 73 20 72 65 61 |**.strin|g is rea|
|000032e0| 64 20 75 70 20 74 6f 20 | 32 35 35 20 63 68 61 72 |d up to |255 char|
|000032f0| 61 63 74 65 72 73 2e 20 | 54 68 65 20 63 68 61 72 |acters. |The char|
|00003300| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 2a 2a 2a |...H..Mo|naco.***|
|00003310| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003320| 2a 2f 0d 2f 2a 2a 00 06 | 00 04 01 0e 01 7f 01 68 |*/./**..|.......h|
|00003330| 02 4f 01 0e 01 7f 01 68 | 02 4f a0 f4 c9 29 00 00 |.O.....h|.O...)..|
|00003340| 00 00 00 00 00 00 00 00 | 00 00 01 00 00 00 01 00 |........|........|
|00003350| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 28 ed 7c |...L...L|...2.(.||
|00003360| 0a a8 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|00003370| 00 0a 03 ed ff ff 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+